package pe.gob.servir.apps.censodirectivo.ejb.service;

import java.util.List;

import javax.ejb.Local;

import pe.gob.servir.apps.censodirectivo.excepcion.ServiceExcepcion;
import pe.gob.servir.apps.censodirectivo.model.bean.MensajeRespuesta;
import pe.gob.servir.apps.censodirectivo.model.bean.OpcionUsuario;
import pe.gob.servir.apps.censodirectivo.model.bean.Usuario;

@Local
public interface UsuarioServiceLocal {

	boolean actualizar(Usuario usuario);

	MensajeRespuesta eliminarUsuario(Usuario usuario) throws ServiceExcepcion;

	List<Usuario> listarTodos();

	void actualizarClave(String usuario, String nuevaClave)
			throws ServiceExcepcion;

	List<Usuario> validarUsuario(String usuario) throws ServiceExcepcion;

	List<OpcionUsuario> listaOpcionesUsuario(String usuario) throws ServiceExcepcion;

	List<Usuario> filtrarListaUsuarios(String dni, String usuario, String apellidoPaterno,
			String apellidoMaterno, String nombres, String entidad,
			String perfil, String estado) throws ServiceExcepcion;

	MensajeRespuesta registrarUsuario(Usuario usuario) throws ServiceExcepcion;
	
	Usuario obtenerUsuarioPorId(long usuarioId) throws ServiceExcepcion;
	
	Usuario obtenerUsuarioPorEmail(String email) throws ServiceExcepcion;
	
	Usuario obtenerUsuarioPorLogin(String sUsuario) throws ServiceExcepcion;
	
	Usuario obtenerUsuarioPorPersonaId(long personaId) throws ServiceExcepcion;
	
	Usuario obtenerUsuarioPorDocumento(String nroDocumento) throws ServiceExcepcion;
}
